import { IPSAppCodeList } from '../../app/codelist/ipsapp-code-list';
import { IPSAppDEField } from '../../app/dataentity/ipsapp-defield';
import { IPSControlItem } from '../ipscontrol-item';
import { IPSDEUIActionGroup } from '../../dataentity/uiaction/ipsdeuiaction-group';
import { IPSLanguageRes } from '../../res/ipslanguage-res';

/**
 *
 * @export
 * @interface IPSDEDataViewItem
 */
export interface IPSDEDataViewItem extends IPSControlItem {
  /**
   * 代码表转换模式
   * @description 值模式 [列表项代码表转换模式] {NONE：直接值、 FRONT：绘制时转换（前台）、 BACKEND：控制器转换（后台） }
   * @type {( string | 'NONE' | 'FRONT' | 'BACKEND')}
   */
  cLConvertMode: string | 'NONE' | 'FRONT' | 'BACKEND';

  /**
   * 标题语言资源
   *
   * @type {IPSLanguageRes}
   */
  getCapPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 标题
   * @type {string}
   */
  caption: string;

  /**
   * 数据项名称
   * @type {string}
   */
  dataItemName: string;

  /**
   * 项类型
   * @description 值模式 [云平台列表项类型] {TEXTITEM：显示内容项、 ACTIONITEM：操作项、 DATAITEM：数据项 }
   * @type {( string | 'TEXTITEM' | 'ACTIONITEM' | 'DATAITEM')}
   */
  itemType: string | 'TEXTITEM' | 'ACTIONITEM' | 'DATAITEM';

  /**
   * 应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getPSAppDEField(): IPSAppDEField | null;

  /**
   * 代码表
   *
   * @type {IPSAppCodeList}
   */
  getPSCodeList(): IPSAppCodeList | null;

  /**
   * 界面行为组
   *
   * @type {IPSDEUIActionGroup}
   */
  getPSDEUIActionGroup(): IPSDEUIActionGroup | null;

  /**
   * 值格式化
   * @type {string}
   */
  valueFormat: string;

  /**
   * 支持排序
   * @type {boolean}
   */
  enableSort: boolean;
}
